package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * CdEnvioDoc generated by hbm2java
 */
@Entity
@Table(name = "CD_ENVIO_DOC", schema = "CTROLDOC")
@SequenceGenerator(name="SEQ_CD_ENVIO_DOC" , sequenceName="SEQ_CD_ENVIO_DOC")
public class CdEnvioDoc implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3238074252842174767L;
	private Long nenvio;
	private String cunidadEnvia;
	private String cunidadRecibe;
	private Date fhenvio;
	private Date fhrecepcion;
	private String cusuarioEnvia;
	private String cusuarioRecibe;
	private String cestado;
	private Set<CdDocumEnvio> cdDocumEnvios = new HashSet<CdDocumEnvio>(0);

	public CdEnvioDoc() {
	}

	public CdEnvioDoc(Long nenvio, String cunidadEnvia, String cunidadRecibe,
			Date fhenvio) {
		this.nenvio = nenvio;
		this.cunidadEnvia = cunidadEnvia;
		this.cunidadRecibe = cunidadRecibe;
		this.fhenvio = fhenvio;
	}

	public CdEnvioDoc(Long nenvio, String cunidadEnvia, String cunidadRecibe,
			Date fhenvio, Date fhrecepcion, String cusuarioEnvia,
			String cusuarioRecibe, String cestado,
			Set<CdDocumEnvio> cdDocumEnvios) {
		this.nenvio = nenvio;
		this.cunidadEnvia = cunidadEnvia;
		this.cunidadRecibe = cunidadRecibe;
		this.fhenvio = fhenvio;
		this.fhrecepcion = fhrecepcion;
		this.cusuarioEnvia = cusuarioEnvia;
		this.cusuarioRecibe = cusuarioRecibe;
		this.cestado = cestado;
		this.cdDocumEnvios = cdDocumEnvios;
	}

	@Id
	@Column(name = "N_ENVIO", unique = true, nullable = false, precision = 10, scale = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SEQ_CD_ENVIO_DOC")
	public Long getNenvio() {
		return this.nenvio;
	}

	public void setNenvio(Long nenvio) {
		this.nenvio = nenvio;
	}

	@Column(name = "C_UNIDAD_ENVIA", nullable = false, length = 5)
	public String getCunidadEnvia() {
		return this.cunidadEnvia;
	}

	public void setCunidadEnvia(String cunidadEnvia) {
		this.cunidadEnvia = cunidadEnvia;
	}

	@Column(name = "C_UNIDAD_RECIBE", nullable = false, length = 5)
	public String getCunidadRecibe() {
		return this.cunidadRecibe;
	}

	public void setCunidadRecibe(String cunidadRecibe) {
		this.cunidadRecibe = cunidadRecibe;
	}

	//@Temporal(TemporalType.DATE)
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_ENVIO", nullable = false, length = 7)
	public Date getFhenvio() {
		return this.fhenvio;
	}

	public void setFhenvio(Date fhenvio) {
		this.fhenvio = fhenvio;
	}

	//@Temporal(TemporalType.DATE)
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_RECEPCION", length = 7)
	public Date getFhrecepcion() {
		return this.fhrecepcion;
	}

	public void setFhrecepcion(Date fhrecepcion) {
		this.fhrecepcion = fhrecepcion;
	}

	@Column(name = "C_USUARIO_ENVIA", length = 30)
	public String getCusuarioEnvia() {
		return this.cusuarioEnvia;
	}

	public void setCusuarioEnvia(String cusuarioEnvia) {
		this.cusuarioEnvia = cusuarioEnvia;
	}

	@Column(name = "C_USUARIO_RECIBE", length = 30)
	public String getCusuarioRecibe() {
		return this.cusuarioRecibe;
	}

	public void setCusuarioRecibe(String cusuarioRecibe) {
		this.cusuarioRecibe = cusuarioRecibe;
	}

	@Column(name = "C_ESTADO", length = 2)
	public String getCestado() {
		return this.cestado;
	}

	public void setCestado(String cestado) {
		this.cestado = cestado;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "cdEnvioDoc")
	public Set<CdDocumEnvio> getCdDocumEnvios() {
		return this.cdDocumEnvios;
	}

	public void setCdDocumEnvios(Set<CdDocumEnvio> cdDocumEnvios) {
		this.cdDocumEnvios = cdDocumEnvios;
	}

}
